package cn.team.mapper;

import cn.team.entity.Order;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.springframework.security.core.parameters.P;
import org.springframework.stereotype.Repository;

import java.sql.Date;
import java.util.List;
@Repository
@Mapper
public interface OrderMapper {

    List<Order> getOrderByParentAndVaild(String parent);
    // 插入订单
    void insertOrder(Order order);

    // 根据 parent 字段查询订单
    List<Order> selectByParent(String parent);

    // 根据 tutor 字段查询订单
    List<Order> selectByTutor(String tutor);

    // 根据 shi 和 xian 字段进行模糊查询订单
    List<Order> selectByShiXianLike(@Param("shi") String shi, @Param("xian") String xian);

    // 根据 id 删除订单
    void deleteById(int id);

    // 根据日期小于等于 startDate 且 isOrder 值为 0 的有效预约查询
    List<Order> selectValidAppointments(String startDate ,String username,String shi);

    // 根据日期大于 endDate 或 isOrder 值为 1 的无效预约查询
    List<Order> selectInvalidAppointments(String endDate,String username);

    // 根据 id 修改 comment
    void updateCommentById(int id);

    Order getOrderById(int id);

    int orderSuccess(@Param("id") int id, @Param("tutor") String tutor);

    List<Order> getRenWu(@Param("username")String username);
    List<Order> getWork(@Param("username")String username);
    List<Order> getCords(@Param("username")String username);

    int updateComment(@Param("id")int id,@Param("comment")String comment);
    int deleteCord(@Param("id")Integer id);
    int quitRenwu(@Param("id")int id);

    int quXiaoRenwu(@Param("id") int id);

    List<Order> searchOrders(String keyword);
    List<Order> getComments(@Param("tutor") String tutor);
}
